import Request from '../../utils/request.js';

/**
 * 我的充电桩相关API
 */
class PileApi {
  /**

   * @returns {Promise} 我的充电桩详情
   */
  static async getMyPileInfo() {
    return Request.get(`/pile/info`);
  }

  /**
   * 预约安装
   * @param {string} time 预约时间
   * @returns {Promise} 预约结果
   */
  static async appointment(time) {
    return Request.post(`/pile/info/appointment`, { time });
  }

  /**
   * 获取收益信息
   * @returns {Promise} 收益信息
   */
  static async getIncome() {
    return Request.get(`/pile/income`);
  }

  /**
   * 获取收益明细
   * @returns {Promise} 收益明细
   */
  static async getIncomeParticulars(type) {
    return Request.post(`/pile/income/particulars`, {type});
  }

  /**
   * 获取邀请人收益详情
   * @param {string} type 邀请类型
   * @returns {Promise} 邀请人收益详情
   */
  static async getIncomeInviter(type) {
    return Request.post(`/pile/income/inviter`, { type });
  }
  
  /**
   * 提交充电桩认证数据
   * @param {Object} certData 认证数据
   * @returns {Promise} 认证结果
   */
  static async submitCertification(certData) {
    return Request.post(`/pile/auth/create`, certData);
  }
  
  /**
   * 搜索小区
   * @param {string} plotName 搜索关键字
   * @param {number} longitude 经度
   * @param {number} latitude 纬度
   * @returns {Promise} 搜索结果
   */
  static async searchPlot(plotName, longitude, latitude) {
    return Request.get(`/pile/activity/plot/search`, {
      plotName,
      longitude,
      latitude
    });
  }
  
  /**
   * 获取小区活动限额信息
   * @param {string} plotName 小区名称
   * @returns {Promise} 小区限额信息
   */
  static async getPlotLimit(plotName) {
    return Request.get(`/pile/activity/plot/limit`, {
      plotName
    });
  }

  /**
   * 获取附近小区
   * @param {string} plotName 小区名称
   * @returns {Promise} 小区限额信息
   */
  static async getNearbyPlot(plotName, longitude, latitude) {
    return Request.get(`/pile/activity/plot/nearbyPlot`, {
      plotName,
      longitude,
      latitude
    });
  }
  
}

export default PileApi;